149c2dcf2d386c55f7023bf832b50e1386cf13ad,storio-content-resolver/src/test/java/com/pushtorefresh/storio/contentresolver/impl/RxChangesObserverTest.java,RxChangesObserverTest,shouldRegisterContentObserverAfterSubscribingToObservable,#,72
Before Change
// Should register Content Observer after subscribing to Observable
verify(contentResolver)
.registerContentObserver(any(Uri.class), anyBoolean(), any(ContentObserver.class));
subscription.unsubscribe();
}
After Change
@Test
public void shouldRegisterOnlyOneContentObserverAfterSubscribingToObservableOnSdkVersionGreaterThan15() {
for (int sdkVersion = 16; sdkVersion < MAX_SDK_VERSION; sdkVersion++) {
ContentResolver contentResolver = mock(ContentResolver.class);
final AtomicReference<ContentObserver> contentObserver = new AtomicReference<ContentObserver>();
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
// Save reference to ContentObserver only once to assert that it was created once
if (contentObserver.get() == null) {
contentObserver.set((ContentObserver) invocation.getArguments()[2]);
} else if (contentObserver.get() != invocation.getArguments()[2]) {
throw new AssertionError("More than one ContentObserver was created");
}
return null;
}
}).when(contentResolver).registerContentObserver(any(Uri.class), eq(true), any(ContentObserver.class));
Set<Uri> uris = new HashSet<Uri>(3);
uris.add(mock(Uri.class));